//引入封装的工具函数
const {
  scheduleClipboard,
  copy,
  paste,
  formatDateToString,
} = require('./utils/index')

//按需引入全局配置项
const config= require('./config/h-config')
const { IS_FS_DB } = config
//引入自己封装的数据存储对象 --根据是否文件形式存储引入不同的db初始化构造文件
const DB = require(IS_FS_DB ? './model/fs-db.js' : 'uTools存储方式待开发')
//存储的数据
const { dataBase } = DB
/* *********************************************** S：调用工具函数  *********************************************** */
//调用剪切板轮询函数，并传入回调函数，在回调函数中进行对当前复制项的存储操作
// scheduleClipboard(dataBase, async(item) => {
//   try{
//   // 此函数不断执行
//   if (!item) return
//   if (DB.updateItem(item.id)) {
//     // 如果已经在库中的，会在if语句中的【updateItem】函数执行时更新时间
//     return
//   }
//   // 不在库中 由 addItem 添加
//   item.createTime = new Date().getTime()
//   item.updateTime = new Date().getTime()
//   DB.addItem(item)
// }catch(e){
//   console.error(e,"rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr")
// }
// })


scheduleClipboard (dataBase, (item) => {
    console.log(item,"这时沦胥")
  // 此函数不断执行
  if (!item) return
  if (DB.updateItem(item.id)) {
    // 如果已经在库中的，会在if语句中的【updateItem】函数执行时更新时间
    return
  }
  // 不在库中 由 addItem 添加
  item.createTime = new Date().getTime()
  item.updateTime = new Date().getTime()
  DB.addItem(item)
})

/* *********************************************** S：页面初始化渲染相关  *********************************************** */
const focus = () => document.querySelector('#nav-search-input')?.focus()
//列表跳转于顶部
const toTop = () => (document.scrollingElement.scrollTop = 0)
//重置nav导航栏，默认选中全部
const resetNav = () => document.querySelectorAll('.nav-tabs-item')[0]?.click()
utools.onPluginEnter(() => {
  document.querySelector('#nav-search-input').select() // 进入插件将搜索框内容全选
  focus()
  toTop()
  // resetNav()
})


/* *********************************************** S：全局变量挂载  *********************************************** */
//将DB存储对象挂到全局上
window.DB = DB
//将uTools的复制粘贴api封装后挂在到全局上
window.copy = copy
window.paste = paste
//挂在一些utools的api到全局上
window.openFile = utools.shellOpenPath
window.getIcon = utools.getFileIcon
window.focus = focus
window.formatDateToString = formatDateToString
//把配置项挂到全局
window.HConfig=config

